home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d19 / prokit33.arc / TIPS.DOC < prev    next >
Text File  |  1990-06-27  |  7KB  |  154 lines

  1.  
  2. ProKit Door Writing Tips                                (C) 1988 S.H.Smith
  3. ------------------------                                ProKit 2.8, 8/4/88
  4.  
  5. +  Do all output with DISP, DISPLN and NEWLINE functions.
  6.  
  7. +  Do NOT use Borland's CRT unit.  The CRT unit will lock up in some
  8.    multi-task systems, and does not communicate.
  9.  
  10. +  Use one of the provided input functions to read from the user
  11.       GET_CMDLINE   - for command lines
  12.       INPUT         - for lines with length limits
  13.       GET_KEY       - for single characters (no echo)
  14.  
  15. +  Use the supplied functions to select one of the seven basic colors
  16.       aRED, aGREEN, aBLUE, aCYAN, aMAGENTA, aWHITE, aGRAY.
  17.    These can be used at any time (even in non-graphic mode).
  18.  
  19. +  Use these functions ONLY when in GRAPHICS mode:
  20.       POSITION(x,y);
  21.       CLEAR_SCREEN;
  22.       CLEAR_EOL;
  23.  
  24. +  Check the GRAPHICS flag before sending any ANSI codes to the user;
  25.    some users won't accept ansi codes.
  26.  
  27. +  Check the DUMP_USER flag in all major program loops.  This flag is set
  28.    if the user hangs up, his time runs out, or if the sysop wants to dump
  29.    the caller out of the door.
  30.  
  31. +  Always call UNINIT before calling HALT to terminate a door program.  
  32.    Otherwise the dangling interrupt handlers will crash the system.
  33.  
  34. +  The first line of a ProKit config files must be the com driver type.
  35.    This can be one of:
  36.       INTERRUPT         ;the best, fastest
  37.       BIOS              ;if interrupts fail to work
  38.       PCBTRAP           ;BIOS with special screen management for PCBTRAP.
  39.    Your door program is free to re-open the config file and read additional
  40.    information from it.
  41.  
  42. +  ProKit based doors can be tested with a special "local sysop" mode of
  43.    operation.  In this mode, you need not load PCBoard to run the door.
  44.    This option is selected by adding 'LOCAL' to the end of the door
  45.    command line.  For example:
  46.       prokit prokit.cnf \pcb2 LOCAL
  47.    will run the ProKit demo door in sysop-local mode directly from DOS.
  48.  
  49. +  The standard DOOR script for ProKit doors has this format:
  50.       echo off
  51.       cd \pro
  52.       prokit prokit.cnf c:\pcb2
  53.       cd \pcb2
  54.       if exist event.bat event               <<<--- take note
  55.       board
  56.    Notice line 5.  This line will start your timed event if needed.  Any
  57.    door that can logoff a user (during carrier loss or with goodbye) has
  58.    the possibility of starting the event.
  59.  
  60. +  The F5 (shell to DOS) function will only work if you leave enough 
  61.    free ram for a new copy of COMMAND.COM to be loaded.  To do this, you
  62.    need to include this directive in your main program:
  63.       {$M 12000,40000,40000}  {Stack, minheap, maxheap}
  64.    Adjust the values to your needs, but limit the MAXHEAP setting to the
  65.    smallest value that is needed.  This leaves the rest of memory available
  66.    for the shell.
  67.  
  68. +  Take a look at the sample door - PROKIT.PAS - it has examples of how
  69.    to use many of ProKit's features.
  70.  
  71. +  Call the function load_cnames_file during your door initialization if
  72.    you are going to access the conf_info data structure.  This is no
  73.    longer automatically loaded, speeding up doors that have no interest
  74.    in this data.
  75.  
  76. +  The new pdisp and pdispln procedures allow "macros" to be expanded.
  77.    Here is a list of the macros that are available:
  78.  
  79.    These are used mostly in protocol definitions:
  80.       $C$            ;actual connect bps
  81.       $B$            ;modem open baud rate
  82.       $N$            ;port number 0=local, 1..8
  83.       $R$            ;result filename for batches
  84.       $@$            ;file list pathname for dsz
  85.       $SCRATCH$      ;scratch file name
  86.       $MAIL$         ;mail file name
  87.       $PLAY$         ;upload playpen directory
  88.  
  89.    These are used internally and by PROTRNS translations:
  90.       $2$            ;temp- par2
  91.       $3$            ;temp- par3
  92.       $4$            ;temp- par4
  93.       $5W$           ;temp- par5 word
  94.       $6W$           ;temp- par6 word
  95.       $7L$           ;temp- par7 longint
  96.       $8S$           ;temp- par8 single
  97.  
  98.    These are also unique to ProDoor:
  99.       $nomacs$       ;suspend/toggle macro processing for rest of current file
  100.       $FIRST$        ;callers first name
  101.       $SYSOP$        ;sysop name
  102.       $NAME$         ;callers full name
  103.       $CONF$         ;conference number with mail waiting
  104.       $TIME$         ;minutes left
  105.       $NODE$         ;current node number
  106.       $CONFNUM$      ;current conference number
  107.       $LASTMSGNO$    ;high message number
  108.       $MSGCOUNT$     ;active message count
  109.       $DISP-fname$   ;display text file
  110.       $IFMEMBER-nnn$ ;check conference membership
  111.       $YES$
  112.       $NO$
  113.       $RED$          ;standard ansi colors
  114.       $GREEN$
  115.       $YELLOW$
  116.       $BLUE$
  117.       $MAGENTA$
  118.       $CYAN$
  119.       $WHITE$
  120.       $GRAY$
  121.       $DEFAULT$      ;default color according to pcbsetup
  122.       $CLREOL$       ;clear to end of line
  123.       $NONSTOP$      ;disable "More" prompt
  124.       @CLS@          ;clear screen
  125.       @MORE@         ;cancel nonstop and ask "More?"
  126.  
  127.    These where added for PCBoard 14.2 compatibility:
  128.       @BOARDNAME@    ;the name of your BBS
  129.       @BYTELIMIT@    ;bytes allowed from PWRD file
  130.       @BYTESLEFT@    ;remaining bytes available for download for that day
  131.       @CITY@         ;city and state of caller (all caps)
  132.       @DATAPHONE@    ;caller's business/data phone number
  133.       @DAYBYTES@     ;bytes downloaded so far that day
  134.       @DLBYTES@      ;total bytes downloaded - all calls
  135.       @DLFILES@      ;total files downloaded - all calls
  136.       @EXPDATE@      ;subscription expiration date
  137.       @FIRST@        ;first name of the user (first letter captialized)
  138.       @HOMEPHONE@    ;caller voice phone number
  139.       @INCONF@       ;conference the caller is currently in
  140.       @LASTDATEON@   ;last date on (mm-dd-yy format)
  141.       @LASTTIMEON@   ;last time on (hh:mm format)
  142.       @NUMCALLS@     ;total number of callers in system
  143.       @NUMTIMESON@   ;number of times on system
  144.       @SECURITY@     ;users current security level including conf. add.
  145.       @SYSDATE@      ;host date in (mm-dd-yy format)
  146.       @SYSTIME@      ;host system in in (hh:mm format)
  147.       @TIMELEFT@     ;time remaining that call incl. all credits, etc.
  148.       @TIMELIMIT@    ;time allowed from PWRD file
  149.       @TIMEUSED@     ;minutes used since logon
  150.       @UPBYTES@      ;total bytes uploaded - all calls
  151.       @UPFILES@      ;total files uploaded - all calls
  152.       @USER@         ;complete name of the caller (first & last - all caps)
  153.  
  154.